package com.ehotting.edsta.circuitDesign.generator.domain;

import java.io.Serializable;
import java.util.Date;

/**
 * 
 * @TableName ot_components
 */
public class OtComponents implements Serializable {
    /**
     * 元器件唯一标识符
     */
    private Integer id;

    /**
     * 制造商 
     */
    private String manufacturer;

    /**
     * 型号  
     */
    private String model_number;

    /**
     * 描述  
     */
    private String description;

    /**
     * 类型（如电阻、电容、二极管等）
     */
    private String type;

    /**
     * 类别（如被动元器件、主动元器件等）
     */
    private String category;

    /**
     * 封装形式
     */
    private String package_way;

    /**
     * 值（如电阻的阻值、电容的容量等）
     */
    private String value;

    /**
     * 误差范围
     */
    private String tolerance;

    /**
     * 额定电压
     */
    private Integer voltage_rating;

    /**
     * 额定电流
     */
    private Integer current_rating;

    /**
     * 额定功率
     */
    private Integer power_rating;

    /**
     * 工作温度范围
     */
    private String temperature_range;

    /**
     * 交货时间（天）
     */
    private Integer lead_time;

    /**
     * 库存数量
     */
    private Integer quantityIn_stock;

    /**
     * 价格
     */
    private Integer price;

    /**
     * 是否符合RoHS标准
     */
    private Integer rohs_compliant;

    /**
     * 是否通过UL认证
     */
    private Integer ul_certified;

    /**
     * 是否CE标记
     */
    private Integer ce_marked;

    /**
     * 材料
     */
    private String material;

    /**
     * 重量（克）
     */
    private Integer weight;

    /**
     * 尺寸（长x宽x高）
     */
    private String dimensions;

    /**
     * 保修期（月）
     */
    private Integer warranty_period;

    /**
     * 添加到数据库的时间
     */
    private Date date_added;

    private static final long serialVersionUID = 1L;

    /**
     * 元器件唯一标识符
     */
    public Integer getId() {
        return id;
    }

    /**
     * 元器件唯一标识符
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 制造商 
     */
    public String getManufacturer() {
        return manufacturer;
    }

    /**
     * 制造商 
     */
    public void setManufacturer(String manufacturer) {
        this.manufacturer = manufacturer;
    }

    /**
     * 型号  
     */
    public String getModel_number() {
        return model_number;
    }

    /**
     * 型号  
     */
    public void setModel_number(String model_number) {
        this.model_number = model_number;
    }

    /**
     * 描述  
     */
    public String getDescription() {
        return description;
    }

    /**
     * 描述  
     */
    public void setDescription(String description) {
        this.description = description;
    }

    /**
     * 类型（如电阻、电容、二极管等）
     */
    public String getType() {
        return type;
    }

    /**
     * 类型（如电阻、电容、二极管等）
     */
    public void setType(String type) {
        this.type = type;
    }

    /**
     * 类别（如被动元器件、主动元器件等）
     */
    public String getCategory() {
        return category;
    }

    /**
     * 类别（如被动元器件、主动元器件等）
     */
    public void setCategory(String category) {
        this.category = category;
    }

    /**
     * 封装形式
     */
    public String getPackage_way() {
        return package_way;
    }

    /**
     * 封装形式
     */
    public void setPackage_way(String package_way) {
        this.package_way = package_way;
    }

    /**
     * 值（如电阻的阻值、电容的容量等）
     */
    public String getValue() {
        return value;
    }

    /**
     * 值（如电阻的阻值、电容的容量等）
     */
    public void setValue(String value) {
        this.value = value;
    }

    /**
     * 误差范围
     */
    public String getTolerance() {
        return tolerance;
    }

    /**
     * 误差范围
     */
    public void setTolerance(String tolerance) {
        this.tolerance = tolerance;
    }

    /**
     * 额定电压
     */
    public Integer getVoltage_rating() {
        return voltage_rating;
    }

    /**
     * 额定电压
     */
    public void setVoltage_rating(Integer voltage_rating) {
        this.voltage_rating = voltage_rating;
    }

    /**
     * 额定电流
     */
    public Integer getCurrent_rating() {
        return current_rating;
    }

    /**
     * 额定电流
     */
    public void setCurrent_rating(Integer current_rating) {
        this.current_rating = current_rating;
    }

    /**
     * 额定功率
     */
    public Integer getPower_rating() {
        return power_rating;
    }

    /**
     * 额定功率
     */
    public void setPower_rating(Integer power_rating) {
        this.power_rating = power_rating;
    }

    /**
     * 工作温度范围
     */
    public String getTemperature_range() {
        return temperature_range;
    }

    /**
     * 工作温度范围
     */
    public void setTemperature_range(String temperature_range) {
        this.temperature_range = temperature_range;
    }

    /**
     * 交货时间（天）
     */
    public Integer getLead_time() {
        return lead_time;
    }

    /**
     * 交货时间（天）
     */
    public void setLead_time(Integer lead_time) {
        this.lead_time = lead_time;
    }

    /**
     * 库存数量
     */
    public Integer getQuantityIn_stock() {
        return quantityIn_stock;
    }

    /**
     * 库存数量
     */
    public void setQuantityIn_stock(Integer quantityIn_stock) {
        this.quantityIn_stock = quantityIn_stock;
    }

    /**
     * 价格
     */
    public Integer getPrice() {
        return price;
    }

    /**
     * 价格
     */
    public void setPrice(Integer price) {
        this.price = price;
    }

    /**
     * 是否符合RoHS标准
     */
    public Integer getRohs_compliant() {
        return rohs_compliant;
    }

    /**
     * 是否符合RoHS标准
     */
    public void setRohs_compliant(Integer rohs_compliant) {
        this.rohs_compliant = rohs_compliant;
    }

    /**
     * 是否通过UL认证
     */
    public Integer getUl_certified() {
        return ul_certified;
    }

    /**
     * 是否通过UL认证
     */
    public void setUl_certified(Integer ul_certified) {
        this.ul_certified = ul_certified;
    }

    /**
     * 是否CE标记
     */
    public Integer getCe_marked() {
        return ce_marked;
    }

    /**
     * 是否CE标记
     */
    public void setCe_marked(Integer ce_marked) {
        this.ce_marked = ce_marked;
    }

    /**
     * 材料
     */
    public String getMaterial() {
        return material;
    }

    /**
     * 材料
     */
    public void setMaterial(String material) {
        this.material = material;
    }

    /**
     * 重量（克）
     */
    public Integer getWeight() {
        return weight;
    }

    /**
     * 重量（克）
     */
    public void setWeight(Integer weight) {
        this.weight = weight;
    }

    /**
     * 尺寸（长x宽x高）
     */
    public String getDimensions() {
        return dimensions;
    }

    /**
     * 尺寸（长x宽x高）
     */
    public void setDimensions(String dimensions) {
        this.dimensions = dimensions;
    }

    /**
     * 保修期（月）
     */
    public Integer getWarranty_period() {
        return warranty_period;
    }

    /**
     * 保修期（月）
     */
    public void setWarranty_period(Integer warranty_period) {
        this.warranty_period = warranty_period;
    }

    /**
     * 添加到数据库的时间
     */
    public Date getDate_added() {
        return date_added;
    }

    /**
     * 添加到数据库的时间
     */
    public void setDate_added(Date date_added) {
        this.date_added = date_added;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        OtComponents other = (OtComponents) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getManufacturer() == null ? other.getManufacturer() == null : this.getManufacturer().equals(other.getManufacturer()))
            && (this.getModel_number() == null ? other.getModel_number() == null : this.getModel_number().equals(other.getModel_number()))
            && (this.getDescription() == null ? other.getDescription() == null : this.getDescription().equals(other.getDescription()))
            && (this.getType() == null ? other.getType() == null : this.getType().equals(other.getType()))
            && (this.getCategory() == null ? other.getCategory() == null : this.getCategory().equals(other.getCategory()))
            && (this.getPackage_way() == null ? other.getPackage_way() == null : this.getPackage_way().equals(other.getPackage_way()))
            && (this.getValue() == null ? other.getValue() == null : this.getValue().equals(other.getValue()))
            && (this.getTolerance() == null ? other.getTolerance() == null : this.getTolerance().equals(other.getTolerance()))
            && (this.getVoltage_rating() == null ? other.getVoltage_rating() == null : this.getVoltage_rating().equals(other.getVoltage_rating()))
            && (this.getCurrent_rating() == null ? other.getCurrent_rating() == null : this.getCurrent_rating().equals(other.getCurrent_rating()))
            && (this.getPower_rating() == null ? other.getPower_rating() == null : this.getPower_rating().equals(other.getPower_rating()))
            && (this.getTemperature_range() == null ? other.getTemperature_range() == null : this.getTemperature_range().equals(other.getTemperature_range()))
            && (this.getLead_time() == null ? other.getLead_time() == null : this.getLead_time().equals(other.getLead_time()))
            && (this.getQuantityIn_stock() == null ? other.getQuantityIn_stock() == null : this.getQuantityIn_stock().equals(other.getQuantityIn_stock()))
            && (this.getPrice() == null ? other.getPrice() == null : this.getPrice().equals(other.getPrice()))
            && (this.getRohs_compliant() == null ? other.getRohs_compliant() == null : this.getRohs_compliant().equals(other.getRohs_compliant()))
            && (this.getUl_certified() == null ? other.getUl_certified() == null : this.getUl_certified().equals(other.getUl_certified()))
            && (this.getCe_marked() == null ? other.getCe_marked() == null : this.getCe_marked().equals(other.getCe_marked()))
            && (this.getMaterial() == null ? other.getMaterial() == null : this.getMaterial().equals(other.getMaterial()))
            && (this.getWeight() == null ? other.getWeight() == null : this.getWeight().equals(other.getWeight()))
            && (this.getDimensions() == null ? other.getDimensions() == null : this.getDimensions().equals(other.getDimensions()))
            && (this.getWarranty_period() == null ? other.getWarranty_period() == null : this.getWarranty_period().equals(other.getWarranty_period()))
            && (this.getDate_added() == null ? other.getDate_added() == null : this.getDate_added().equals(other.getDate_added()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getManufacturer() == null) ? 0 : getManufacturer().hashCode());
        result = prime * result + ((getModel_number() == null) ? 0 : getModel_number().hashCode());
        result = prime * result + ((getDescription() == null) ? 0 : getDescription().hashCode());
        result = prime * result + ((getType() == null) ? 0 : getType().hashCode());
        result = prime * result + ((getCategory() == null) ? 0 : getCategory().hashCode());
        result = prime * result + ((getPackage_way() == null) ? 0 : getPackage_way().hashCode());
        result = prime * result + ((getValue() == null) ? 0 : getValue().hashCode());
        result = prime * result + ((getTolerance() == null) ? 0 : getTolerance().hashCode());
        result = prime * result + ((getVoltage_rating() == null) ? 0 : getVoltage_rating().hashCode());
        result = prime * result + ((getCurrent_rating() == null) ? 0 : getCurrent_rating().hashCode());
        result = prime * result + ((getPower_rating() == null) ? 0 : getPower_rating().hashCode());
        result = prime * result + ((getTemperature_range() == null) ? 0 : getTemperature_range().hashCode());
        result = prime * result + ((getLead_time() == null) ? 0 : getLead_time().hashCode());
        result = prime * result + ((getQuantityIn_stock() == null) ? 0 : getQuantityIn_stock().hashCode());
        result = prime * result + ((getPrice() == null) ? 0 : getPrice().hashCode());
        result = prime * result + ((getRohs_compliant() == null) ? 0 : getRohs_compliant().hashCode());
        result = prime * result + ((getUl_certified() == null) ? 0 : getUl_certified().hashCode());
        result = prime * result + ((getCe_marked() == null) ? 0 : getCe_marked().hashCode());
        result = prime * result + ((getMaterial() == null) ? 0 : getMaterial().hashCode());
        result = prime * result + ((getWeight() == null) ? 0 : getWeight().hashCode());
        result = prime * result + ((getDimensions() == null) ? 0 : getDimensions().hashCode());
        result = prime * result + ((getWarranty_period() == null) ? 0 : getWarranty_period().hashCode());
        result = prime * result + ((getDate_added() == null) ? 0 : getDate_added().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", manufacturer=").append(manufacturer);
        sb.append(", model_number=").append(model_number);
        sb.append(", description=").append(description);
        sb.append(", type=").append(type);
        sb.append(", category=").append(category);
        sb.append(", package_way=").append(package_way);
        sb.append(", value=").append(value);
        sb.append(", tolerance=").append(tolerance);
        sb.append(", voltage_rating=").append(voltage_rating);
        sb.append(", current_rating=").append(current_rating);
        sb.append(", power_rating=").append(power_rating);
        sb.append(", temperature_range=").append(temperature_range);
        sb.append(", lead_time=").append(lead_time);
        sb.append(", quantityIn_stock=").append(quantityIn_stock);
        sb.append(", price=").append(price);
        sb.append(", rohs_compliant=").append(rohs_compliant);
        sb.append(", ul_certified=").append(ul_certified);
        sb.append(", ce_marked=").append(ce_marked);
        sb.append(", material=").append(material);
        sb.append(", weight=").append(weight);
        sb.append(", dimensions=").append(dimensions);
        sb.append(", warranty_period=").append(warranty_period);
        sb.append(", date_added=").append(date_added);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}